/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.uca.dss.curso2011.grupo1.clases;

/**
 * Clase tren que contiene los trenes que realizan trayectos.
 * @author Alejandro & David
 */
public class Tren implements InterfazMedioTransporte{
    /**
     * Atributos de la clase Tren.
     */
    private String idTren;
    private int numeroAsientos;
    private double precioTren;

    /**
     * Constructor de una instancia tren
     * @param idTren Identificador del tren.
     * @param numeroAsientos Numero maximo de asientos que contiene dicho tren.
     * @param precioTren El coste del tren por tramo.
     */
    public Tren (String idTren, int numeroAsientos, double precioTren){
        this.idTren = idTren;
        this.numeroAsientos = numeroAsientos;
        this.precioTren = precioTren;
    }

    /**
     * Funcion que comprueba la existencia de un tren.
     * @param idTren Identificador del tren que estamos buscando.
     * @return Devuelve true si el identificador del tren coincide con el dado.
     */
    public boolean existeMedioTransporte (String idTren){
        return this.idTren.equals(idTren);
    }

    /**
     * Funcion que da el valor del precio del tren por tramo.
     * @return Precio del tren por tramo.
     */
    public double obtienePrecio (){
        return this.precioTren;
    }

    /**
     * Funcion que da el numero de asientos del que se compone el tren.
     * @return Numero de asientos del tren.
     */
    public int obtieneNumeroAsientos(){
        return this.numeroAsientos;
    }

    /**
     * Método que compara con un objeto tren.
     * @param tren Objeto con el que se quiere comparar.
     * @return True si el objeto actual, es igual al objeto tren, y False en caso contrario.
     */
    public boolean equals(Tren tren) {
        return this.idTren.equals(tren.idTren) && this.numeroAsientos == tren.numeroAsientos && this.precioTren == tren.precioTren;
    }

}
